package day14;
/*本类用于测试泛型的优点2*/
public class TestGeneric2 {
    public static void main(String[] args) {
        Integer[] a = {1,2,3,4,5};
        print(a);
        String[] b = {"上","山","打","老","虎"};
        print(b);
        Double[] c = {6.0,6.6,6.66,6.666};
        print(c);
    }
    /*泛型可以实现通用代码的编写,使用E表示元素的类型是Element类型*/
    /*泛型的语法要求:如果在方法上使用泛型,必须两处同时出现
    * 一个是传入的参数的类型,另一个是方法声明上返回值类型之前的泛型
    * */
    private static <E> void print(E[] g) {
        for ( E d: g){
            System.out.println(d);
        }
    }
//
//    private static void print(Integer[] a) {
//        //从哪开始 到哪结束 如何变化
//        for (int i= 0; i < a.length; i++){
//            System.out.println(a[i]);
//        }
//    }
//    private static void print(String[] b) {
//        //普通for循环的好处是可以设置步长(可以控制怎么变化)
//        /*高效for循环/foreach循环
//        * 前提:如果只是单纯的从头到尾遍历数据,就可以使用高效for循环
//        * 好处:比普通的for循环写法简单,而且效率更高
//        * 坏处:没有办法按照下标来操作值,只能从头到尾依次遍历
//        * 语法:for(1 2 : 3){代码块}
//        * 3是要遍历的数据 1是遍历后得到的数据的类型 2是遍历后得到的数据的名字*/
//        for(String s: b){
//            System.out.println(s);
//        }
//    }
//    private static void print(Double[] c) {
//        for( Double d : c){
//            System.out.println(d);
//        }
//    }
}
